home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / newlang.arc / NEWLANG.TXT
Text File  |  1987-01-17  |  13KB  |  340 lines

  1.  
  2. =============================================================================
  3.                            Humorous Tidbits #6:
  4.                             Computer Languages
  5.                        From The Enforcer & friends
  6. =============================================================================
  7.  
  8.   Babbage - The Language of the Future
  9.  
  10.   Babbage is based on language elements that were discovered after the design
  11. of ADA was completed.  For instance, C. A. R.  Hare, in his 1980 Turing Award
  12. lecture, told of two ways of constructing a software design
  13.  "One way is to make it so simple that there are obviously no deficiencies
  14. and the other way is to make it so complicated that there are no obvious
  15. deficiencies."
  16.  
  17.     The designers of Babbage have chosen a third alternative - a language
  18.  that has only obvious deficiencies.  Babbage programs are so unreliable
  19.  that maintenance can begin before system integration is completed.  This
  20.  guarantees a steady increase in the DP job marketplace.
  21.  
  22.     Structured languages banned GOTOs and multiway conditional branches by
  23.  replacing them with the simpler IF-THEN-ELSE structure.  Babbage has a
  24.  number of new conditional statements that act like termites in the
  25.  structure of your program.
  26.  
  27.     WhatIf - Used in simulation.  Branches before evaluating test
  28.     ______   conditions.
  29.  
  30.     OrElse - Conditional threat as in : "Add these two numbers
  31.     ______   OR ELSE !"
  32.  
  33.     WhyNot - Executes the code that follows in a devil-may-care
  34.     ______   Fashion.
  35.  
  36.     WhoElse - Used for polling during I/O operations.
  37.     _______
  38.  
  39.     Elsewhere - This is where your program really is when you think
  40.     _______     its here.
  41.  
  42.     GoingGoingGone - For writing unstructured programs. Takes a random
  43.     ______________   branch to another part of your program.
  44.                      Does the work of 10 GOTOs.
  45.  
  46.  
  47.   For years, programming languages have used "For", "Do Until",
  48.   "Do While", etc. to mean "loop".  Continuing with this trend,
  49.   Babbage offers the following loop statements :
  50.  
  51.  
  52.     Don't Do While Not - This loop is not executed if the test condition
  53.     __________________ is not false (or if it's Friday afternoon) .
  54.  
  55.     Didn't Do - The loop executes once and hides all traces.
  56.     _________
  57.  
  58.     Can't Do - The looped is pooped.
  59.     ________
  60.  
  61.     Won't Do - The CPU halts because it doesn't like the code inside
  62.     ________   the loop. Execution can be resumed by typing "May I"
  63.                at the console.
  64.  
  65.     Might Do - Depends on how the CPU is feeling. Executed if the CPU is
  66.     ________   "up", not executed if the CPU is "down", or if it feelings
  67.                are hurt.
  68.  
  69.     Do Unto Others - Used to write the main loop for timesharing systems
  70.     ______________   so that they will antagonize all users in a uniform
  71.                      manner.
  72.  
  73.     DOWAH - Used to write timing loops for computer-generated music.
  74.     _____
  75.  
  76.  
  77.  Every self-respecting structured language has a case statement to
  78.  implement multiway branching.Algol offers an indexed case statement
  79.  and Pascal has a labelled case statement.  Not much of a choice.
  80.  Babbage offer a variety of case statements :
  81.  
  82.  
  83.     Just-In-Case STMT - For handling afterthoughts and fudge factors.
  84.     _________________   Allows you to multiply by zero to correct for
  85.                         accidentally dividing by zero.
  86.  
  87.     The Brief Case STMT - To encourage portable software.
  88.     ___________________
  89.  
  90.     The Open & Shut Case STMT - No proof of correctness is necessary
  91.     _________________________
  92.  
  93.     The In Any Case STMT - This one always works.
  94.     ____________________
  95.  
  96.     The Hopeless Case STMT - This one never works.
  97.     ______________________
  98.  
  99.     The Basket Case STMT - A really hopeless case.
  100.     ____________________
  101.  
  102.     The Babbage Language Design Group is continuously evaluating
  103.  new features that will keep it users from reaching any level of
  104. effectiveness.  For instance, Babbage's designers are now considering the
  105. Almost Equals Sign used for comparing two floating point numbers.  This new
  106. feature "takes the worry out of even being close".
  107.  
  108.  
  109.  
  110.    NEW LANGUAGES COMPETE WITH APL
  111.  
  112.        A Usually Reliable Source
  113.        Digital Equipment Corporation
  114.        Somewhere in New England
  115.  
  116.    APL, BASIC, FORTRAN, COBOL,... these programming languages are well
  117.    known and (more or less) well loved throughout the computer industry.
  118.    There are numerous other languages, however, that are less well known
  119.    yet still have ardent devotees. In fact, these little-known languages
  120.    generally have the most fanatic admirers. For those who wish to know
  121.    more about these obscure languages -- and why they are obscure -- I
  122.    present the following catalog.
  123.  
  124.  
  125.    SIMPLE
  126.  
  127.    SIMPLE is an acronym for Sheer Idiot's Monopurpose Programming
  128.    Linguistic Environment. This language, developed at Hanover College
  129.    for Technological Misfits, was designed to make it impossible to write
  130.    code with errors in it. The statements are, therefore, confined to
  131.    BEGIN, END, and STOP. No matter how you arrange the statements, you
  132.    can't make a syntax error.
  133.  
  134.    Programs written in SIMPLE do nothing useful. They thus achieve the
  135.    results of programs written in other languages without the tedious,
  136.    frustrating process of testing and debugging.
  137.  
  138.  
  139.    SLOBOL
  140.  
  141.    SLOBOL is best known for the speed, or lack of it, of its compiler.
  142.    Although many compilers allow you to take a coffee break while they
  143.    compile, SLOBOL compilers allow you to travel to Bolivia to pick the
  144.    coffee. Forty-three programmers are known to have died of boredom
  145.    sitting at their terminals while waiting for a SLOBOL program to
  146.    compile.
  147.  
  148.  
  149.    VALGOL
  150.  
  151.    From its modest beginnings in Southern California's San Fernando
  152.    Valley, VALGOL is enjoying a dramatic surge of popularity across the
  153.    industry.
  154.  
  155.    VALGOL commands include REALLY, LIKE, WELL, and Y*KNOW. Variables
  156.    are assigned with the =LIKE and =TOTALLY operators. Other operators
  157.    include the California Booleans, FERSURE and NOWAY. Repetitions of
  158.    code are handled in FOR - SURE loops. Here is a sample VALGOL program:
  159.  
  160.        LIKE Y*KNOW (I MEAN) START
  161.        IF PIZZA =LIKE BITCHEN AND
  162.    B =LIKE TUBULAR AND
  163.    C =LIKE GRODY**MAX
  164.        THEN
  165.    FOR I =LIKE 1 TO OH MAYBE 100
  166.        DO WAH - (DITTY**2)
  167.        BARF(I) =TOTALLY GROSS(OUT)
  168.    SURE
  169.        LIKE BAG THIS PROBLEM
  170.        REALLY
  171.        LIKE TOTALLY(Y*KNOW)
  172.  
  173.    VALGOL is characterized by its unfriendly error messages. For example,
  174.    when the user makes a syntax error, the interpreter displays the
  175.    message:
  176.  
  177.        GAG ME WITH A SPOON!
  178.  
  179.  
  180.    LAIDBACK
  181.  
  182.    Historically, VALGOL is a derivative of LAIDBACK, which was developed
  183.    at the (now defunct) Marin County Center for T'ai Chi, Mellowness, and
  184.    Computer Programming, as an alternative to the intense atmosphere in
  185.    nearby Silicon Valley.
  186.  
  187.    The center was ideal for programmers who liked to soak in hot tubs
  188.    while they worked. Unfortunately, few programmers could survive there
  189.    for long, since the center outlawed pizza and RC Cola in favor of bean
  190.    curd and Perrier.
  191.  
  192.    Many mourn the demise of LAIDBACK because of its reputation as a
  193.    gentle and nonthreatening language. For example, LAIDBACK responded to
  194.    syntax errors with the message:
  195.  
  196.        SORRY MAN, I CAN'T DEAL BEHIND THAT.
  197.  
  198.  
  199.    SARTRE
  200.  
  201.    Named after the late existential philosopher, SARTRE is an extremely
  202.    unstructured language. Statements in SARTRE have no purpose; they just
  203.    are. Thus SARTRE programs are left to define their own functions.
  204.    SARTRE programmers tend to be boring and depressed and are no fun at
  205.    parties.
  206.  
  207.  
  208.    FIFTH
  209.  
  210.    FIFTH is a precision mathematical language in which the data types
  211.    refer to quantity. The data types range from CC, OUNCE, SHOT, and
  212.    JIGGER to FIFTH (hence the name of the language), LITER, MAGNUM, and
  213.    BLOTTO. Commands refer to ingredients such as CHABLIS, CHARDONNAY,
  214.    CABERNET, GIN, VERMOUTH, VODKA, SCOTCH, BOURBON, CANADIAN, and
  215.    WHATEVERSAROUND.
  216.  
  217.    The many versions of the FIFTH language reflect the sophistication
  218.    and financial status of its users. Commands in the ELITE dialect
  219.    include VSOP, LAFITE, and WAITER'S(RECOMMENDATION). The GUTTER
  220.    dialect instead has commands for THUNDERBIRD, RIPPLE, and HOUSE(RED).
  221.    The GUTTER dialect is a particular favorite of frustrated FORTH
  222.    programmers who end up using this language.
  223.  
  224.  
  225.    C-
  226.  
  227.    This language was named for the grade received by its creator when he
  228.    submitted it as a project in a graduate programming class. C- is best
  229.    described as a "low-level" programming language. In general, the
  230.    langauge requires more C- statements than machine-code instructions
  231.    to execute a given task. In this respect it is very similar to COBOL.
  232.  
  233.  
  234.    LITHP
  235.  
  236.    This otherwise unremarkable language is distinguished by the absence
  237.    of an "S" in its character set. Programmers must substitute "TH".
  238.    LITHP is said to be useful in prothething lithtth.
  239.  
  240.  
  241.    DOGO
  242.  
  243.    Developed at the Massachusetts Institute of Obedience Training, DOGO
  244.    heralds a new era of computer-literate pets. DOGO commands include
  245.    SIT, STAY, HEEL, and ROLL OVER. An innovative feature of DOGO is
  246.    "puppy graphics", a small cocker spaniel that occasionally leaves
  247.    deposits as he travels across the screen.
  248.  
  249.  
  250.  
  251. Here are some thoughts from Dijkstra article "How Do We Tell Truths that
  252. Might Hurt?" in his book "Selected Writings on Computing" (Springer
  253. Verlag, 1982):
  254.  
  255. FORTRAN, "the infantile disorder", by now nearly 20 years old, is
  256. hopelessly inadequate for whatever computer application you have in mind
  257. today: it is now too clumsy, too risky, and too expensive to use.
  258.  
  259. PL/I --"the fatal disease"--belongs more to the problem set than to the
  260. solution set.
  261.  
  262. It is practically impossible to teach good programming to students that
  263. have had a prior exposure to BASIC: as potential programmers they are
  264. mentally mutilated beyond hope or regeneration.
  265.  
  266. The use of COBOL cripples the mind; its teaching should, therefore, be
  267. regarded as a criminal offense.
  268.  
  269. APL is a mistake, carried through to perfection.  It is the language of
  270. the future for the programming techniques of the past:it creates a new
  271. generation of coding bums.
  272.  
  273. The problems of business administration in general and database
  274. management in particular are much too difficult for people that think in
  275. IBMerese, compounded with sloppy English.
  276.  
  277. About the use of language: it is impossible to sharpen a pencil with a
  278. blunt axe.  It is equally vain to try to do it with ten blunt axes
  279. instead.
  280.  
  281. We can found no scientific discipline, nor a healthy profession, on the
  282. technical mistakes of the Department of Defense and, mainly, one
  283. computer manufacturer.
  284.  
  285. The use of anthropomorphic terminology when dealing with computing
  286. systems is a symptom of professional immaturity.
  287.  
  288. In the good old days physicists repeated each other's experiments, just
  289. to be sure.  Today they stick to FORTRAN, so that they can share each
  290. other's programs, bugs included.
  291.  
  292.  
  293. 3 Biggest Software Lies:
  294.   - The program's fully tested and bugfree.
  295.   - We're working on the documentation.
  296.   - Of course we can modify it.
  297. 3 Biggest Computer Room Lies:
  298.   - As long as you remember to 'SAVE' your input, you'll never lose
  299.     any files.
  300.   - We run the stuff through as fast as it comes in the door.
  301.   - The new machines on order.
  302. 3 Biggest Large Company Lies:
  303.   - We have an entrepreneurial spirit here.
  304.   - People are our greatest resource.
  305.   - We say 'let the marketplace decide'.
  306. 3 Biggest Small Company Lies:
  307.   - We have an entrepreneurial spirit here.
  308.   - The boss is just one of the guys.
  309.   - Staying small is a conscious decision.
  310. 3 Biggest Marketing Lies:
  311.   - Immediate delivery?...No problem.
  312.   - We treat every customer as if they were our most important.
  313.   - We're going out to lunch to talk business.
  314. 3 Biggest Engineering Professor's Lies:
  315.   - Some day this course will come in handy.
  316.   - These tests are more trouble for me than they are for you.
  317.   - This is the way they do it in industry.
  318. 3 Biggest Executive Lies:
  319.   - Money...it's just a score card.
  320.   - If it were up to me, there'd be no assigned parking spaces.
  321.   - You have to twist my arm to get me to go on a business trip.
  322. 3 Biggest Hardware Lies:
  323.   - We always design for testablilty.
  324.   - It worked fine on the proto board.
  325.   - That would be much easier to implement in software.
  326.  
  327.  
  328.  
  329. THREE PROPOSITIONS
  330. ------------------
  331.  
  332. 1. Software engineering is like looking for a black cat in a dark room.
  333. 2. Systems engineering is like looking for a black cat in a dark
  334.    room in which there is no cat.
  335. 3. Knowledge engineering is like looking for a black cat in a dark
  336.    room where there is no cat and someone yells, "I got it!".
  337.  
  338.  
  339.